<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>libhangul: 한자 사전 검색 기능</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">libhangul
   &#160;<span id="projectnumber">Version 0.1.0</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- 다음에 의해 생성됨 :  Doxygen 1.7.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>메인&#160;페이지</span></a></li>
      <li><a href="pages.html"><span>관련된&#160;페이지</span></a></li>
      <li><a href="modules.html"><span>모듈</span></a></li>
      <li><a href="files.html"><span>파일들</span></a></li>
      <li><a href="dirs.html"><span>디렉토리</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#typedef-members">타입정의</a> &#124;
<a href="#func-members">함수</a>  </div>
  <div class="headertitle">
<div class="title">한자 사전 검색 기능</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
타입정의</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Hanja&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전 검색 결과의 최소 단위  <a href="#ga96969351e2a98eb1e776275338822271"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _HanjaList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전의 검색 결과를 전달하는데 사용하는 오브젝트  <a href="#ga4a7a4937b0fbe7689f2d2935c34be19b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _HanjaTable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전을 관리하는데 사용하는 오브젝트  <a href="#gad58042533438c8e2672738474bf9f981"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
함수</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga859e26859e874957f89be5debd783644">hanja_get_key</a> (const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *hanja)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 키를 찾아본다.  <a href="#ga859e26859e874957f89be5debd783644"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga3b86a3debe7ca1db3edf86c4db6b07e6">hanja_get_value</a> (const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *hanja)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 값을 찾아본다.  <a href="#ga3b86a3debe7ca1db3edf86c4db6b07e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga72b4748e039981d3f63d76fb6431361f">hanja_get_comment</a> (const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *hanja)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 설명을 찾아본다.  <a href="#ga72b4748e039981d3f63d76fb6431361f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#gaaad25fe6ea42acca94b6e94868d2d4fc">hanja_table_load</a> (const char *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전 파일을 로딩하는 함수  <a href="#gaaad25fe6ea42acca94b6e94868d2d4fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga59c749533062905732587d0ff9b6f5a9">hanja_table_delete</a> (<a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *table)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전 object를 free하는 함수  <a href="#ga59c749533062905732587d0ff9b6f5a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#gaf260f28723a8084ed36e81d751f394f2">hanja_table_match_exact</a> (const <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *table, const char *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전에서 매치되는 키를 가진 엔트리를 찾는 함수  <a href="#gaf260f28723a8084ed36e81d751f394f2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga8605f5e6a162e9bc60ca6ff43b4369e6">hanja_table_match_prefix</a> (const <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *table, const char *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전에서 앞부분이 매치되는 키를 가진 엔트리를 찾는 함수  <a href="#ga8605f5e6a162e9bc60ca6ff43b4369e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga2466c41d985a584f569b2ed6b9c74cca">hanja_table_match_suffix</a> (const <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *table, const char *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전에서 뒷부분이 매치되는 키를 가진 엔트리를 찾는 함수  <a href="#ga2466c41d985a584f569b2ed6b9c74cca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga752da8c61bdfd61b9fbca08fb585e490"></a><!-- doxytag: member="hanjadictionary::hanja_list_get_size" ref="ga752da8c61bdfd61b9fbca08fb585e490" args="(const HanjaList *list)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga752da8c61bdfd61b9fbca08fb585e490">hanja_list_get_size</a> (const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 가 가지고 있는 아이템의 갯수를 구하는 함수 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga1fb2943130c52b8dc57566beca98a305">hanja_list_get_key</a> (const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 가 생성될때 검색함수에서 사용한 키를 구하는 함수  <a href="#ga1fb2943130c52b8dc57566beca98a305"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1">hanja_list_get_nth</a> (const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list, unsigned int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 아이템의 포인터를 구하는 함수  <a href="#ga18b8b720d23613a7895f23f7dad926e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga6185a26a275245ee52660eb91b9b57ca">hanja_list_get_nth_key</a> (const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list, unsigned int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 아이템의 키를 구하는 함수  <a href="#ga6185a26a275245ee52660eb91b9b57ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#gad86b9ac4d57462a74e5c2e6d7400a447">hanja_list_get_nth_value</a> (const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list, unsigned int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 아이템의 값를 구하는 함수  <a href="#gad86b9ac4d57462a74e5c2e6d7400a447"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga978c07c6bb77fa9bd468344dce5a407c">hanja_list_get_nth_comment</a> (const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list, unsigned int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 아이템의 설명을 구하는 함수  <a href="#ga978c07c6bb77fa9bd468344dce5a407c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hanjadictionary.html#ga63619e6913dd17925c0f7a13068eee72">hanja_list_delete</a> (<a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">한자 사전 검색 함수가 리턴한 결과를 free하는 함수  <a href="#ga63619e6913dd17925c0f7a13068eee72"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>상세한 설명</h2>
<h2><a class="anchor" id="hanjadictionaryusage"></a>
한자 사전 루틴의 사용 방법</h2>
<p>libhangul에서는 한자 사전 파일과 그 사전 파일을 검색할 수 있는 몇가지 함수의 셋을 제공한다. 여기에서 사용되는 모든 스트링은 UTF-8 인코딩을 사용한다. libhangul에서 사용하는 한자 사전 파일의 포맷은 <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> 섹션을 참조한다.</p>
<p>그 개략적인 사용 방법은 다음과 같다.</p>
<div class="fragment"><pre class="fragment">    <span class="comment">// 지정된 위치의 한자 사전 파일을 로딩한다.</span>
    <span class="comment">// 아래 코드에서는 libhangul의 한자 사전 파일을 로딩하기 위해서</span>
    <span class="comment">// NULL을 argument로 준다.</span>
    <a class="code" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981" title="한자 사전을 관리하는데 사용하는 오브젝트">HanjaTable</a>* table = <a class="code" href="group__hanjadictionary.html#gaaad25fe6ea42acca94b6e94868d2d4fc" title="한자 사전 파일을 로딩하는 함수">hanja_table_load</a>(NULL);

    <span class="comment">// &quot;삼국사기&quot;에 해당하는 한자를 찾는다.</span>
    <a class="code" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b" title="한자 사전의 검색 결과를 전달하는데 사용하는 오브젝트">HanjaList</a>* list = <a class="code" href="group__hanjadictionary.html#gaf260f28723a8084ed36e81d751f394f2" title="한자 사전에서 매치되는 키를 가진 엔트리를 찾는 함수">hanja_table_match_exact</a>(table, <span class="stringliteral">&quot;삼국사기&quot;</span>);
    <span class="keywordflow">if</span> (list != NULL) {
        <span class="keywordtype">int</span> i;
        <span class="keywordtype">int</span> n = <a class="code" href="group__hanjadictionary.html#ga752da8c61bdfd61b9fbca08fb585e490" title="HanjaList 가 가지고 있는 아이템의 갯수를 구하는 함수">hanja_list_get_size</a>(list);
        <span class="keywordflow">for</span> (i = 0; i &lt; n; ++i) {
            <span class="keyword">const</span> <span class="keywordtype">char</span>* hanja = <a class="code" href="group__hanjadictionary.html#gad86b9ac4d57462a74e5c2e6d7400a447" title="HanjaList 의 n번째 아이템의 값를 구하는 함수">hanja_list_get_nth_value</a>(list);
            printf(<span class="stringliteral">&quot;한자: %s\n&quot;</span>, hanja);
        }
        <a class="code" href="group__hanjadictionary.html#ga63619e6913dd17925c0f7a13068eee72" title="한자 사전 검색 함수가 리턴한 결과를 free하는 함수">hanja_list_delete</a>(list);
    }
    
    <a class="code" href="group__hanjadictionary.html#ga59c749533062905732587d0ff9b6f5a9" title="한자 사전 object를 free하는 함수">hanja_table_delete</a>(table);
</pre></div> <hr/><h2>타입정의 문서화</h2>
<a class="anchor" id="ga96969351e2a98eb1e776275338822271"></a><!-- doxytag: member="hangul.h::Hanja" ref="ga96969351e2a98eb1e776275338822271" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전 검색 결과의 최소 단위 </p>
<p>Hanja 오브젝트는 한자 사전 파일의 각 엔트리에 해당한다. 각 엔트리는 키(key), 밸류(value) 페어로 볼 수 있는데, libhangul에서는 약간 확장을 하여 설명(comment)도 포함하고 있다. 한자 사전 포맷은 <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> 부분을 참조한다.</p>
<p>한자 사전을 검색하면 결과는 Hanja 오브젝트의 리스트 형태로 전달된다. <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 에서 각 엔트리의 내용을 하나씩 확인할 수 있다. <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 멤버는 직접 참조할 수 없고, <a class="el" href="group__hanjadictionary.html#ga859e26859e874957f89be5debd783644" title="Hanja 의 키를 찾아본다.">hanja_get_key()</a>, <a class="el" href="group__hanjadictionary.html#ga3b86a3debe7ca1db3edf86c4db6b07e6" title="Hanja 의 값을 찾아본다.">hanja_get_value()</a>, <a class="el" href="group__hanjadictionary.html#ga72b4748e039981d3f63d76fb6431361f" title="Hanja 의 설명을 찾아본다.">hanja_get_comment()</a> 함수로 찾아볼 수 있다. char 스트링으로 전달되는 내용은 모두 UTF-8 인코딩으로 되어 있다. </p>

</div>
</div>
<a class="anchor" id="ga4a7a4937b0fbe7689f2d2935c34be19b"></a><!-- doxytag: member="hangul.h::HanjaList" ref="ga4a7a4937b0fbe7689f2d2935c34be19b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전의 검색 결과를 전달하는데 사용하는 오브젝트 </p>
<p>한자 사전의 검색 함수를 사용하면 이 타입으로 결과를 리턴한다. 이 오브젝트에서 <a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1" title="HanjaList 의 n번째 Hanja 아이템의 포인터를 구하는 함수">hanja_list_get_nth()</a>함수를 이용하여 검색 결과를 이터레이션할 수 있다. 내부 구현 내용은 외부로 노출되어 있지 않다. <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 가 가지고 있는 아이템들은 accessor 함수들을 이용해서 참조한다.</p>
<p>참조: <a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1" title="HanjaList 의 n번째 Hanja 아이템의 포인터를 구하는 함수">hanja_list_get_nth()</a>, <a class="el" href="group__hanjadictionary.html#ga6185a26a275245ee52660eb91b9b57ca" title="HanjaList 의 n번째 아이템의 키를 구하는 함수">hanja_list_get_nth_key()</a>, <a class="el" href="group__hanjadictionary.html#gad86b9ac4d57462a74e5c2e6d7400a447" title="HanjaList 의 n번째 아이템의 값를 구하는 함수">hanja_list_get_nth_value()</a>, <a class="el" href="group__hanjadictionary.html#ga978c07c6bb77fa9bd468344dce5a407c" title="HanjaList 의 n번째 아이템의 설명을 구하는 함수">hanja_list_get_nth_comment()</a> </p>

</div>
</div>
<a class="anchor" id="gad58042533438c8e2672738474bf9f981"></a><!-- doxytag: member="hangul.h::HanjaTable" ref="gad58042533438c8e2672738474bf9f981" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전을 관리하는데 사용하는 오브젝트 </p>
<p>libhangul에서 한자 사전을 관리하는데 사용하는 오브젝트로 내부 구현 내용은 외부로 노출되어 있지 않다.</p>
<p>libhangul에서 사용하는 한자 사전 파일의 포맷은 다음과 같은 형식이다.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> # comment</span>
<span class="preprocessor"></span> key1:value1:comment1
 key2:value2:comment2
 key3:value3:comment3
 ...
</pre></div><p>각 필드는 <b><code></code>:</b> 으로 구분하고, 첫번째 필드는 각 한자를 찾을 키값이고 두번째 필드는 그 키값에 해당하는 한자 스트링, 세번째 필드는 이 키와 값에 대한 설명이다. # 으로 시작하는 라인은 주석으로 무시된다.</p>
<p>실제 예를 들면 다음과 같은 식이다.</p>
<div class="fragment"><pre class="fragment"> 삼국사기:三國史記:삼국사기
 한자:漢字:한자
</pre></div><p>그 내용은 키값에 대해서 sorting 되어야 있어야 한다. 파일의 인코딩은 UTF-8이어야 한다. </p>

</div>
</div>
<hr/><h2>함수 문서화</h2>
<a class="anchor" id="ga72b4748e039981d3f63d76fb6431361f"></a><!-- doxytag: member="hanja.c::hanja_get_comment" ref="ga72b4748e039981d3f63d76fb6431361f" args="(const Hanja *hanja)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#ga72b4748e039981d3f63d76fb6431361f">hanja_get_comment</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *&#160;</td>
          <td class="paramname"><em>hanja</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 설명을 찾아본다. </p>
<dl class="return"><dt><b>반환값:</b></dt><dd><em>hanja</em> 오브젝트의 comment 필드, UTF-8</dd></dl>
<p>일반적으로 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 아이템의 설명은 한글과 그 한자에 대한 설명이다. 파일에 따라서 내용이 없을 수 있다. 리턴되는 스트링은 <em>hanja</em> 오브젝트 내부적으로 관리하는 데이터로 수정하거나 free되어서는 안된다. </p>

<p>다음에 의해서 참조됨 :  <a class="el" href="group__hanjadictionary.html#ga978c07c6bb77fa9bd468344dce5a407c">hanja_list_get_nth_comment()</a>.</p>

</div>
</div>
<a class="anchor" id="ga859e26859e874957f89be5debd783644"></a><!-- doxytag: member="hanja.c::hanja_get_key" ref="ga859e26859e874957f89be5debd783644" args="(const Hanja *hanja)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#ga859e26859e874957f89be5debd783644">hanja_get_key</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *&#160;</td>
          <td class="paramname"><em>hanja</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 키를 찾아본다. </p>
<dl class="return"><dt><b>반환값:</b></dt><dd><em>hanja</em> 오브젝트의 키, UTF-8</dd></dl>
<p>일반적으로 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 아이템의 키는 한글이다. 리턴되는 스트링은 <em>hanja</em> 오브젝트 내부적으로 관리하는 데이터로 수정하거나 free 되어서는 안된다. </p>

<p>다음에 의해서 참조됨 :  <a class="el" href="group__hanjadictionary.html#ga6185a26a275245ee52660eb91b9b57ca">hanja_list_get_nth_key()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3b86a3debe7ca1db3edf86c4db6b07e6"></a><!-- doxytag: member="hanja.c::hanja_get_value" ref="ga3b86a3debe7ca1db3edf86c4db6b07e6" args="(const Hanja *hanja)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#ga3b86a3debe7ca1db3edf86c4db6b07e6">hanja_get_value</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> *&#160;</td>
          <td class="paramname"><em>hanja</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 의 값을 찾아본다. </p>
<dl class="return"><dt><b>반환값:</b></dt><dd><em>hanja</em> 오브젝트의 값, UTF-8</dd></dl>
<p>일반적으로 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 아이템의 값은 key에 대응되는 한자다. 리턴되는 스트링은 <em>hanja</em> 오브젝트 내부적으로 관리하는 데이터로 수정하거나 free되어서는 안된다. </p>

<p>다음에 의해서 참조됨 :  <a class="el" href="group__hanjadictionary.html#gad86b9ac4d57462a74e5c2e6d7400a447">hanja_list_get_nth_value()</a>.</p>

</div>
</div>
<a class="anchor" id="ga63619e6913dd17925c0f7a13068eee72"></a><!-- doxytag: member="hanja.c::hanja_list_delete" ref="ga63619e6913dd17925c0f7a13068eee72" args="(HanjaList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__hanjadictionary.html#ga63619e6913dd17925c0f7a13068eee72">hanja_list_delete</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td>
          <td class="paramname"><em>list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전 검색 함수가 리턴한 결과를 free하는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">list</td><td>free할 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a></td></tr>
  </table>
  </dd>
</dl>
<p>libhangul의 모든 한자 사전 검색 루틴이 리턴한 결과는 반드시 이 함수로 free해야 한다. </p>

</div>
</div>
<a class="anchor" id="ga1fb2943130c52b8dc57566beca98a305"></a><!-- doxytag: member="hanja.c::hanja_list_get_key" ref="ga1fb2943130c52b8dc57566beca98a305" args="(const HanjaList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#ga1fb2943130c52b8dc57566beca98a305">hanja_list_get_key</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td>
          <td class="paramname"><em>list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 가 생성될때 검색함수에서 사용한 키를 구하는 함수 </p>
<dl class="return"><dt><b>반환값:</b></dt><dd><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 key 스트링</dd></dl>
<p>한자 사전 검색 함수로 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 를 생성하면 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 는 그 검색할때 사용한 키를 기억하고 있다. 이 값을 확인할때 사용한다. 주의할 점은, 각 Hanja 아이템들은 각각의 키를 가지고 있지만, 이것이 반드시 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 와 일치하지는 않는다는 것이다. 검색할 당시에 사용한 함수가 prefix나 suffix계열이면 더 짧은 키로도 검색하기 때문에 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 키와 검색 결과의 키와 다른 것들도 가지고 있게 된다.</p>
<p>리턴된 스트링 포인터는 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 에서 관리하는 스트링으로 수정하거나 free해서는 안된다. </p>

</div>
</div>
<a class="anchor" id="ga18b8b720d23613a7895f23f7dad926e1"></a><!-- doxytag: member="hanja.c::hanja_list_get_nth" ref="ga18b8b720d23613a7895f23f7dad926e1" args="(const HanjaList *list, unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a>* <a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1">hanja_list_get_nth</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 아이템의 포인터를 구하는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">list</td><td><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 를 가리키는 포인터 </td></tr>
    <tr><td class="paramname">n</td><td>참조할 아이템의 인덱스 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>반환값:</b></dt><dd><a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 를 가리키는 포인터</dd></dl>
<p>이 함수는 <em>list가</em> 가리키는 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 오브젝트를 가리키는 포인터를 리턴한다. <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 각 아이템은 정수형 인덱스로 각각 참조할 수 있다. <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 가 가진 엔트리 갯수를 넘어서는 인덱스를 주면 NULL을 리턴한다. 리턴된 <a class="el" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271">Hanja</a> 오브젝트는 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 가 관리하는 오브젝트로 free하거나 수정해서는 안된다.</p>
<p>다음의 예제는 list로 주어진 <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 모든 값을 프린트 하는 코드다.</p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> i;
 <span class="keywordtype">int</span> n = <a class="code" href="group__hanjadictionary.html#ga752da8c61bdfd61b9fbca08fb585e490" title="HanjaList 가 가지고 있는 아이템의 갯수를 구하는 함수">hanja_list_get_size</a>(list);
 <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {
        <a class="code" href="group__hanjadictionary.html#ga96969351e2a98eb1e776275338822271" title="한자 사전 검색 결과의 최소 단위">Hanja</a>* hanja = <a class="code" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1" title="HanjaList 의 n번째 Hanja 아이템의 포인터를 구하는 함수">hanja_list_get_nth</a>(i);
        <span class="keyword">const</span> <span class="keywordtype">char</span>* value = <a class="code" href="group__hanjadictionary.html#ga3b86a3debe7ca1db3edf86c4db6b07e6" title="Hanja 의 값을 찾아본다.">hanja_get_value</a>(hanja);
        printf(<span class="stringliteral">&quot;Hanja: %s\n&quot;</span>, value);
        <span class="comment">// 또는 hanja에서 다른 정보를 참조하거나</span>
        <span class="comment">// 다른 작업을 할 수도 있다.</span>
 }
</pre></div> 
<p>다음에 의해서 참조됨 :  <a class="el" href="group__hanjadictionary.html#ga978c07c6bb77fa9bd468344dce5a407c">hanja_list_get_nth_comment()</a>, <a class="el" href="group__hanjadictionary.html#ga6185a26a275245ee52660eb91b9b57ca">hanja_list_get_nth_key()</a>, <a class="el" href="group__hanjadictionary.html#gad86b9ac4d57462a74e5c2e6d7400a447">hanja_list_get_nth_value()</a>.</p>

</div>
</div>
<a class="anchor" id="ga978c07c6bb77fa9bd468344dce5a407c"></a><!-- doxytag: member="hanja.c::hanja_list_get_nth_comment" ref="ga978c07c6bb77fa9bd468344dce5a407c" args="(const HanjaList *list, unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#ga978c07c6bb77fa9bd468344dce5a407c">hanja_list_get_nth_comment</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 아이템의 설명을 구하는 함수 </p>
<dl class="return"><dt><b>반환값:</b></dt><dd>n번째 아이템의 설명(comment), UTF-8</dd></dl>
<p>HanjaList_get_nth()의 convenient 함수 </p>

<p>다음을 참조함 :  <a class="el" href="group__hanjadictionary.html#ga72b4748e039981d3f63d76fb6431361f">hanja_get_comment()</a>, <a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1">hanja_list_get_nth()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6185a26a275245ee52660eb91b9b57ca"></a><!-- doxytag: member="hanja.c::hanja_list_get_nth_key" ref="ga6185a26a275245ee52660eb91b9b57ca" args="(const HanjaList *list, unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#ga6185a26a275245ee52660eb91b9b57ca">hanja_list_get_nth_key</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 아이템의 키를 구하는 함수 </p>
<dl class="return"><dt><b>반환값:</b></dt><dd>n번째 아이템의 키, UTF-8</dd></dl>
<p>HanjaList_get_nth()의 convenient 함수 </p>

<p>다음을 참조함 :  <a class="el" href="group__hanjadictionary.html#ga859e26859e874957f89be5debd783644">hanja_get_key()</a>, <a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1">hanja_list_get_nth()</a>.</p>

</div>
</div>
<a class="anchor" id="gad86b9ac4d57462a74e5c2e6d7400a447"></a><!-- doxytag: member="hanja.c::hanja_list_get_nth_value" ref="gad86b9ac4d57462a74e5c2e6d7400a447" args="(const HanjaList *list, unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__hanjadictionary.html#gad86b9ac4d57462a74e5c2e6d7400a447">hanja_list_get_nth_value</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a> 의 n번째 아이템의 값를 구하는 함수 </p>
<dl class="return"><dt><b>반환값:</b></dt><dd>n번째 아이템의 값(value), UTF-8</dd></dl>
<p>HanjaList_get_nth()의 convenient 함수 </p>

<p>다음을 참조함 :  <a class="el" href="group__hanjadictionary.html#ga3b86a3debe7ca1db3edf86c4db6b07e6">hanja_get_value()</a>, <a class="el" href="group__hanjadictionary.html#ga18b8b720d23613a7895f23f7dad926e1">hanja_list_get_nth()</a>.</p>

</div>
</div>
<a class="anchor" id="ga59c749533062905732587d0ff9b6f5a9"></a><!-- doxytag: member="hanja.c::hanja_table_delete" ref="ga59c749533062905732587d0ff9b6f5a9" args="(HanjaTable *table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__hanjadictionary.html#ga59c749533062905732587d0ff9b6f5a9">hanja_table_delete</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *&#160;</td>
          <td class="paramname"><em>table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전 object를 free하는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">table</td><td>free할 한자 사전 object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaaad25fe6ea42acca94b6e94868d2d4fc"></a><!-- doxytag: member="hanja.c::hanja_table_load" ref="gaaad25fe6ea42acca94b6e94868d2d4fc" args="(const char *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a>* <a class="el" href="group__hanjadictionary.html#gaaad25fe6ea42acca94b6e94868d2d4fc">hanja_table_load</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전 파일을 로딩하는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>로딩할 사전 파일의 위치, 또는 NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>반환값:</b></dt><dd>한자 사전 object 또는 NULL</dd></dl>
<p>이 함수는 한자 사전 파일을 로딩하는 함수로 <em>filename으로</em> 지정된 파일을 로딩한다. 한자 사전 파일은 libhangul에서 사용하는 포맷이어야 한다. 한자 사전 파일의 포맷에 대한 정보는 HanjaTable을 참조한다.</p>
<p><em>filename은</em> locale에 따른 인코딩으로 되어 있어야 한다. UTF-8이 아닐 수 있으므로 주의한다.</p>
<p><em>filename</em> 에 NULL을 주면 libhangul에서 디폴트로 배포하는 사전을 로딩한다. 파일이 없거나, 포맷이 맞지 않으면 로딩에 실패하고 NULL을 리턴한다. 한자 사전이 더이상 필요없으면 <a class="el" href="group__hanjadictionary.html#ga59c749533062905732587d0ff9b6f5a9" title="한자 사전 object를 free하는 함수">hanja_table_delete()</a> 함수로 삭제해야 한다. </p>

</div>
</div>
<a class="anchor" id="gaf260f28723a8084ed36e81d751f394f2"></a><!-- doxytag: member="hanja.c::hanja_table_match_exact" ref="gaf260f28723a8084ed36e81d751f394f2" args="(const HanjaTable *table, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a>* <a class="el" href="group__hanjadictionary.html#gaf260f28723a8084ed36e81d751f394f2">hanja_table_match_exact</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전에서 매치되는 키를 가진 엔트리를 찾는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">table</td><td>한자 사전 object </td></tr>
    <tr><td class="paramname">key</td><td>찾을 키, UTF-8 인코딩 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>반환값:</b></dt><dd>찾은 결과를 HanjaList object로 리턴한다. 찾은 것이 없거나 에러가 있으면 NULL을 리턴한다.</dd></dl>
<p><em>key</em> 값과 같은 키를 가진 엔트리를 검색한다. 리턴된 결과는 다 사용하고 나면 반드시 <a class="el" href="group__hanjadictionary.html#ga63619e6913dd17925c0f7a13068eee72" title="한자 사전 검색 함수가 리턴한 결과를 free하는 함수">hanja_list_delete()</a> 함수로 free해야 한다. </p>

</div>
</div>
<a class="anchor" id="ga8605f5e6a162e9bc60ca6ff43b4369e6"></a><!-- doxytag: member="hanja.c::hanja_table_match_prefix" ref="ga8605f5e6a162e9bc60ca6ff43b4369e6" args="(const HanjaTable *table, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a>* <a class="el" href="group__hanjadictionary.html#ga8605f5e6a162e9bc60ca6ff43b4369e6">hanja_table_match_prefix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전에서 앞부분이 매치되는 키를 가진 엔트리를 찾는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">table</td><td>한자 사전 object </td></tr>
    <tr><td class="paramname">key</td><td>찾을 키, UTF-8 인코딩 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>반환값:</b></dt><dd>찾은 결과를 HanjaList object로 리턴한다. 찾은 것이 없거나 에러가 있으면 NULL을 리턴한다.</dd></dl>
<p><em>key</em> 값과 같거나 앞부분이 같은 키를 가진 엔트리를 검색한다. 그리고 key를 뒤에서부터 한자씩 줄여가면서 검색을 계속한다. 예로 들면 "삼국사기"를 검색하면 "삼국사기", "삼국사", "삼국", "삼"을 각각 모두 검색한다. 리턴된 결과는 다 사용하고 나면 반드시 <a class="el" href="group__hanjadictionary.html#ga63619e6913dd17925c0f7a13068eee72" title="한자 사전 검색 함수가 리턴한 결과를 free하는 함수">hanja_list_delete()</a> 함수로 free해야 한다. </p>

</div>
</div>
<a class="anchor" id="ga2466c41d985a584f569b2ed6b9c74cca"></a><!-- doxytag: member="hanja.c::hanja_table_match_suffix" ref="ga2466c41d985a584f569b2ed6b9c74cca" args="(const HanjaTable *table, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__hanjadictionary.html#ga4a7a4937b0fbe7689f2d2935c34be19b">HanjaList</a>* <a class="el" href="group__hanjadictionary.html#ga2466c41d985a584f569b2ed6b9c74cca">hanja_table_match_suffix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__hanjadictionary.html#gad58042533438c8e2672738474bf9f981">HanjaTable</a> *&#160;</td>
          <td class="paramname"><em>table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>한자 사전에서 뒷부분이 매치되는 키를 가진 엔트리를 찾는 함수 </p>
<dl class="params"><dt><b>매개변수:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">table</td><td>한자 사전 object </td></tr>
    <tr><td class="paramname">key</td><td>찾을 키, UTF-8 인코딩 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>반환값:</b></dt><dd>찾은 결과를 HanjaList object로 리턴한다. 찾은 것이 없거나 에러가 있으면 NULL을 리턴한다.</dd></dl>
<p><em>key</em> 값과 같거나 뒷부분이 같은 키를 가진 엔트리를 검색한다. 그리고 key를 앞에서부터 한자씩 줄여가면서 검색을 계속한다. 예로 들면 "삼국사기"를 검색하면 "삼국사기", "국사기", "사기", "기"를 각각 모두 검색한다. 리턴된 결과는 다 사용하고 나면 반드시 <a class="el" href="group__hanjadictionary.html#ga63619e6913dd17925c0f7a13068eee72" title="한자 사전 검색 함수가 리턴한 결과를 free하는 함수">hanja_list_delete()</a> 함수로 free해야 한다. </p>

</div>
</div>
</div>


<hr class="footer"/><address class="footer"><small>
생성시간 : 수 3월 28 2012 23:47:49, 프로젝트명 : libhangul, 생성자 :  &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6
</small></address>

</body>
</html>
